package com.xueyi.system.productionManager.domain.po;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xueyi.common.core.web.tenant.base.TBaseEntity;
import com.xueyi.system.productionManager.domain.dto.BaseProductionManagerDto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.xueyi.common.core.annotation.Excel;

import java.time.LocalDateTime;

/**
 * 生产管理 持久化对象
 *
 * @author zlf
 */
@TableName(value = "base_production_manager", excludeProperty = {"name", "sort", "status"},autoResultMap = true)
public class BaseProductionManagerPo extends TBaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 农事作业编号
     */
    @Excel(name = "农事作业编号")
    @TableField("agro_code")
    private String agroCode;

    /**
     * 农事类型(1施肥 2翻耕 3起垄（整畦）4用药 5追肥 6除草 7修剪 8浸种 9间苗 10中耕除草 11灌排水 12自定义等)
     */
    @Excel(name = "农事类型", readConverterExp = "整=畦")
    @TableField("agro_type")
    private String agroType;


    /**
     * 所属基地id
     */
    @Excel(name = "种植记录id")
    @TableField("plant_id")
    private String plantId;

    /**
     * 所属基地名称
     */
    @Excel(name = "种植记录名称")
    @TableField("plant_name")
    private String plantName;

    /**
     * 批次
     */
    @Excel(name = "批次")
    @TableField("plant_batch")
    private String plantBatch;

    /**
     * 所属基地id
     */
    @Excel(name = "所属基地id")
    @TableField("belonging_id")
    private String belongingId;

    /**
     * 所属基地名称
     */
    @Excel(name = "所属基地名称")
    @TableField("belonging_name")
    private String belongingName;

    /**
     * 所属地块id
     */
    @Excel(name = "所属地块id")
    @TableField("plot_id")
    private String plotId;

    /**
     * 所属地块名称
     */
    @Excel(name = "所属地块名称")
    @TableField("plot_name")
    private String plotName;

    /**
     * 设施id
     */
    @Excel(name = "设施id")
    @TableField("agricultural_id")
    private String agriculturalId;

    /**
     * 设施名称
     */
    @Excel(name = "设施名称")
    @TableField("agricultural_name")
    private String agriculturalName;

    /**
     * 作业方式(1人工 2机械)
     */
    @Excel(name = "作业方式")
    @TableField("assignment_style")
    private String assignmentStyle;

    /**
     * 农事作业时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "农事作业时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("agriculture_time")
    private LocalDateTime agricultureTime;

    /**
     * 农事作业负责人
     */
    @Excel(name = "农事作业负责人id")
    @TableField("agriculture_user_id")
    private String agricultureUserId;

    @Excel(name = "农事作业负责人")
    @TableField("agriculture_user")
    private String agricultureUser;

    /**
     * 作业内容
     */
    @Excel(name = "作业内容")
    @TableField("work_content")
    private String workContent;

    /**
     * 农事照片
     */
    @Excel(name = "农事照片")
    @TableField("agriculture_photo")
    private String agriculturePhoto;

    /**
     * 农事状态(1已完成 2未完成)
     */
    @Excel(name = "农事状态")
    @TableField("agriculture_status")
    private String agricultureStatus;

    /**
     * 类型
     */
    @Excel(name = "类型")
    @TableField("type")
    private String type;


    /**
     * 投入品名称
     */
    @Excel(name = "投入品名称")
    @TableField("material_name")
    private String materialName;

    /**
     *  施用量
     */
    @Excel(name = "施用量")
    @TableField("apply_num")
    private String applyNum;

    /**
     *  供应商名称
     */
    @Excel(name = "供应商名称")
    @TableField("supplier_name")
    private String supplierName;

    /**
     *  防控策略
     */
    @Excel(name = "防控策略")
    @TableField("prevention")
    private String prevention;


    @Excel(name = "扦插")
    @TableField("cuttage")
    private String cuttage;

    @Excel(name = "平均用量")
    @TableField("avg_use")
    private String avgUse;

    @Excel(name = "供应商")
    @TableField("suppliername")
    private String suppliername;

    /**
     * 审核人
     */
    @TableField(value = "checker")
    private String checker;

    /**
     * 审核人
     */
    @TableField(value = "auxiliary_receive", typeHandler = FastjsonTypeHandler.class)
    private JSONArray auxiliaryReceive;

    /**
     * 审核人
     */
    @TableField(value = "check_code")
    private String checkCode;

    public JSONArray getAuxiliaryReceive() {
        return auxiliaryReceive;
    }

    public void setAuxiliaryReceive(JSONArray auxiliaryReceive) {
        this.auxiliaryReceive = auxiliaryReceive;
    }

    public String getChecker() {
        return checker;
    }

    public void setChecker(String checker) {
        this.checker = checker;
    }

    public String getCheckCode() {
        return checkCode;
    }

    public void setCheckCode(String checkCode) {
        this.checkCode = checkCode;
    }

    public String getCuttage() {
        return cuttage;
    }

    public void setCuttage(String cuttage) {
        this.cuttage = cuttage;
    }

    public String getAvgUse() {
        return avgUse;
    }

    public void setAvgUse(String avgUse) {
        this.avgUse = avgUse;
    }

    public String getSuppliername() {
        return suppliername;
    }

    public void setSuppliername(String suppliername) {
        this.suppliername = suppliername;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getMaterialName() {
        return materialName;
    }

    public void setMaterialName(String materialName) {
        this.materialName = materialName;
    }

    public String getApplyNum() {
        return applyNum;
    }

    public void setApplyNum(String applyNum) {
        this.applyNum = applyNum;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getPrevention() {
        return prevention;
    }

    public void setPrevention(String prevention) {
        this.prevention = prevention;
    }

    public String getPlantBatch() {
        return plantBatch;
    }

    public void setPlantBatch(String plantBatch) {
        this.plantBatch = plantBatch;
    }

    public String getAgricultureUserId() {
        return agricultureUserId;
    }

    public void setAgricultureUserId(String agricultureUserId) {
        this.agricultureUserId = agricultureUserId;
    }

    public void setAgroCode(String agroCode) {
        this.agroCode = agroCode;
    }

    public String getAgroCode() {
        return agroCode;
    }

    public void setAgroType(String agroType) {
        this.agroType = agroType;
    }

    public String getAgroType() {
        return agroType;
    }

    public void setBelongingId(String belongingId) {
        this.belongingId = belongingId;
    }

    public String getBelongingId() {
        return belongingId;
    }

    public void setBelongingName(String belongingName) {
        this.belongingName = belongingName;
    }

    public String getBelongingName() {
        return belongingName;
    }

    public void setPlotId(String plotId) {
        this.plotId = plotId;
    }

    public String getPlotId() {
        return plotId;
    }

    public void setPlotName(String plotName) {
        this.plotName = plotName;
    }

    public String getPlotName() {
        return plotName;
    }

    public void setAgriculturalId(String agriculturalId) {
        this.agriculturalId = agriculturalId;
    }

    public String getAgriculturalId() {
        return agriculturalId;
    }

    public void setAgriculturalName(String agriculturalName) {
        this.agriculturalName = agriculturalName;
    }

    public String getAgriculturalName() {
        return agriculturalName;
    }

    public void setAssignmentStyle(String assignmentStyle) {
        this.assignmentStyle = assignmentStyle;
    }

    public String getAssignmentStyle() {
        return assignmentStyle;
    }

    public void setAgricultureTime(LocalDateTime agricultureTime) {
        this.agricultureTime = agricultureTime;
    }

    public LocalDateTime getAgricultureTime() {
        return agricultureTime;
    }

    public void setAgricultureUser(String agricultureUser) {
        this.agricultureUser = agricultureUser;
    }

    public String getAgricultureUser() {
        return agricultureUser;
    }

    public void setWorkContent(String workContent) {
        this.workContent = workContent;
    }

    public String getWorkContent() {
        return workContent;
    }

    public void setAgriculturePhoto(String agriculturePhoto) {
        this.agriculturePhoto = agriculturePhoto;
    }

    public String getAgriculturePhoto() {
        return agriculturePhoto;
    }

    public void setAgricultureStatus(String agricultureStatus) {
        this.agricultureStatus = agricultureStatus;
    }

    public String getAgricultureStatus() {
        return agricultureStatus;
    }

    public String getPlantId() {
        return plantId;
    }

    public void setPlantId(String plantId) {
        this.plantId = plantId;
    }

    public String getPlantName() {
        return plantName;
    }

    public void setPlantName(String plantName) {
        this.plantName = plantName;
    }
}
